博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django博客功能实现—文章评论的显示
阅读量:6826 次
发布时间:2019-06-26

本文共 1827 字,大约阅读时间需要 6 分钟。

功能:

在打开文章之后,能在文章下面是显示文章的评论,有父级评论。
思路:
在文章详情的视图里面,获取这个文章的全部评论,得到显示列表,然后用模板显示出来。
步骤:
一,在views.py的文章详情中获取评论:

1 #文章详情 2 #blog/views.py 3 def article(request): 4     try:  5         # 获取评论信息 6         #查询指定文章的所有评论,按照id排序 7         comments = Comment.objects.filter(article=article).order_by('id') 8         #创建一个评论的空列表 9         comment_list = []10         #遍历一篇文章中的所有评论11         for comment in comments:12             for item in comment_list: 13 #判断item中是否有"children_comment"属性,返回布尔值 14 if not hasattr(item, 'children_comment'): 15 #若无"children_comment"属性,则设置这个属性,属性的值为[] 16 setattr(item, 'children_comment', []) 17 #如果item和父级评论的值相等,则讲该遍历出来的文章添加到"children_comment"属性,然后跳出当前循环 18 if comment.pid == item: 19  item.children_comment.append(comment) 20 break 21 #如果父级评论为空,则讲给评论放到父级评论列表里面 22 if comment.pid is None: 23  comment_list.append(comment) 24 except Exception as e: 25 print e 26  logger.error(e) 27 return render(request, 'article.html', locals())

二、在模板中显示出来

1 #article.html 2           {% for comment in comment_list %} 3         4         {
{ comment.username }}
{
{ comment.date_publish | date:'Y-m-d H:i:s' }}
5
6 7

{

{ comment.content }}

8 9 10 {% for children_comment in comment.children_comment %}11
  • 12
    19
  • 20 {% endfor %}

     

    如此就能讲一个文章的评论显示出来

    转载于:https://www.cnblogs.com/cenyu/p/5713387.html

    你可能感兴趣的文章
    登入攻击不再是不可能!智能主动防御技术成主力防御部队
    查看>>
    12月18日任务 4 models基本使用 5 基本命令
    查看>>
    小程序开发之云函数中的时区问题
    查看>>
    List<Long>集合转long[]数组
    查看>>
    OSChina 周日乱弹 —— 起来,不愿上班滴人们~
    查看>>
    OSChina 周三乱弹 —— 大家鉴定下面的这个姑娘优秀么
    查看>>
    Android Manifest.xml 结构详解
    查看>>
    Php-Web开发中浏览记录问题
    查看>>
    webstorm import declaration not supported by current javascript version
    查看>>
    手机端页面左右滑动的解决方法
    查看>>
    利用fake 在豆瓣小组 (半)自动化回帖功能
    查看>>
    HTML5初识
    查看>>
    jqxfileupload+springmvc上传资源
    查看>>
    如何解决ABBYY中区域未正确检测问题
    查看>>
    解决本地文件的词典翻译问题
    查看>>
    mongodb、3-基本的命令
    查看>>
    Redis 概览
    查看>>
    ubuntu pdf合并方法
    查看>>
    PHP和MYSQL中的“逗号”
    查看>>
    mysql administrator工具使用帮助
    查看>>